﻿using System;
using MoroMoro.Samples.ToDoList.Base.Application;

namespace MoroMoro.Samples.ToDoList.Application.DataStores
{
    /// <summary>
    /// データストアを用意するスクリプトです。
    /// </summary>
    [Serializable]
    public sealed class DataStorePreparationScript : OperationScript<DataStorePreparationOutputs, DataStorePreparationErrors>
    {
        /// <summary>
        /// 作業モードを取得または設定します。
        /// </summary>
        public WorkMode? Type
        {
            get;
            set;
        }


        /// <inheritdoc/>
        protected override ExecutionResult ExecuteCore()
        {
            var datastore = DataStoreSelector.Get(Type);

            if (!datastore.Exists())
            {
                datastore.Create();
            }

            return new DataStorePreparationOutputs();
        }
    }
}
